/*
ID:nacci521
PROG:beads
LANG:C++14
*/

#include <string>
#include <fstream>
#include <iostream>

using namespace std;

/*
TODO:
1. 打断的位置 checked
2. 重新拼接项链 checked
3. 左边能拿的珠子
4. 右边能拿的珠子
5. 这次拿的和历史拿的最多的比较
*/

int same_chars(const string &necklace, string::iterator pos) {
  int l = 0; // 从左边可以读取的珠子的数量
  auto curr = pos;

  /*
  wwwwwbbw
  如果第一个字符是 w，这意味着我们根本不知道开始的颜色，
  那么我们就要读完所有连续的 w
  */
  while (*curr == 'w' && curr != necklace.end()) {
    ++curr;
    ++l;
  }

  if (curr == necklace.end()) {
    return l;
  }

  // curr 指向的就是左边的真正起始颜色
  char c = *curr;
  ++curr;
  ++l;

  // 从 curr 位置开始取所有颜色和 c 相同的珠子
  while ((*curr == c || *curr == 'w') && curr != necklace.end()){
    ++curr;
    ++l;
  }

  return l;
}



int same_chars(const string &necklace, string::reverse_iterator pos) {
  int r = 0; // 从右边可以读取的珠子的数量
  auto curr = pos;

  while (*curr == 'w' && curr != necklace.rend()) {
    ++curr;
    ++r;
  }

  if (curr == necklace.rend()) {
    return r;
  }

  // curr 指向的就是右边的真正起始颜色
  char c = *curr;
  ++curr;
  ++r;

  // 从 curr 位置开始取所有颜色和 c 相同的珠子
  while ((*curr == c || *curr == 'w') && curr != necklace.rend()){
    ++curr;
    ++r;
  }

  return r;
}



int main(int argc, char const *argv[])
{
  /* code */
  // 处理输入
  ifstream ifs("beads.in");
  int beads = 0;
  ifs >> beads;

  string necklace;
  ifs >> necklace;

  int result = 0;

  for (auto curr = necklace.begin(); curr <= necklace.end() - 1; ++curr) {
    // curr 理解打断的位置
    // 在 curr 之前打断
    // 如何得到打断位置左侧的字符串
    string left(necklace.begin(), curr);
    string right(curr, necklace.end());

    // 如何把左右拼接起来形成新的字符串
    string sample = right + left;

    /*
    wrrbbwrb
    ^b     ^rb
    */
    // b - 从左侧取珠子的迭代器
    auto b = sample.begin();

    // 从左侧可以拿到的珠子的数量
    // 从 sample 的 b 位置开始不断按规则取珠子
    int l = same_chars(sample, b);

    if (l == sample.size()) {
      result = l;
      break;
    }

    // 我们应该从右向左取珠子
    auto rb = sample.rbegin();
    // 从 sample 的 rb 位置开始不断向左取珠子
    int r = same_chars(sample, rb);

    // rrwbb
    // l = 3 r = 3
    // l+r > sample.size
    int m = min(l + r, int(sample.size()));
    result = max(result, m);
  }

  ofstream ofs("beads.out");
  ofs << result << endl;

  return 0;
}
